import * as Cesium from 'cesium'
const TIANDITU_KEY = '9b98e180f0d4c52dd08ee8e0e6b79e5b'
const AMAP_VECTOR_TILE =
  'https://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}'
const AMAP_IMAGE_TILE = 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}'

// TODO  有时间加入 bing地图，  再把其他的一点点加入
// bing 是cesium默认地图
// const bing = viewer.imageryLayers.get(0)

/* 例 example usage

  const defaultCheckedKeys = ['离线影像']
  // 之前静态import出错
  import('@/components/cesium/CesiumImageryLayer.js').then(({ CesiumImageryLayerDict }) => {
    defaultCheckedKeys.forEach((layerName) => {
      viewer.imageryLayers.add(CesiumImageryLayerDict[layerName])
    })
  })
*/



export const CesiumImageryLayerDict = {
  离线影像: Cesium.ImageryLayer.fromProviderAsync(
    Cesium.TileMapServiceImageryProvider.fromUrl(
      Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
    )
  ),
  天地图: new Cesium.ImageryLayer(
    new Cesium.WebMapTileServiceImageryProvider({
      url:
        'https://{s}.tianditu.gov.cn/img_c/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=c&FORMAT=tiles&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}&tk=' +
        TIANDITU_KEY,
      layer: 'img_c',
      style: 'default',
      format: 'tiles',
      tileMatrixSetID: 'c',
      subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
      tilingScheme: new Cesium.GeographicTilingScheme(),
      tileMatrixLabels: [
        '1',
        '2',
        '3',
        '4',
        '5',
        '6',
        '7',
        '8',
        '9',
        '10',
        '11',
        '12',
        '13',
        '14',
        '15',
        '16',
        '17',
        '18'
      ]
    })
  ),
  本地影像: new Cesium.ImageryLayer(
    new Cesium.UrlTemplateImageryProvider({
      url: '/data/tianditu/{z}/{x}/{y}.png',
      maximumLevel: 18,
      tilingScheme: new Cesium.GeographicTilingScheme(),
      hasAlphaChannel: true
    })
  ),
  高德影像: new Cesium.ImageryLayer(
    new Cesium.UrlTemplateImageryProvider({
      name: 'img_arcgis',
      url: AMAP_IMAGE_TILE
    })
  ),
  高德矢量: new Cesium.ImageryLayer(
    new Cesium.UrlTemplateImageryProvider({
      name: 'img_arcgis',
      url: AMAP_VECTOR_TILE
    })
  )
}
